1
HIP 최적화를 위한 과학적 방법론
AI024Lesson 7
00:00

HIP 환경에서의 최적화는 엄격한 경험적 학문 직관적인 추측의 연속이 아니라, 체계적인 워크플로우를 채택함으로써 개발자는 모든 코드 수정이 데이터에 근거해야 함을 보장합니다. 이는 성능 엔지니어링을 '최적화 신조'에서 벗어나 반복 가능한 과학적 가설과 검증의 주기를 향해 나아가게 합니다.

6단계 워크플로우

HIP 성능 가이드라인은 체계적인 순서를 권장합니다:

  1. 기준선 측정: 현재 실행 시간과 처리량을 결정합니다.
  2. 프로그램 프로파일링: rocprofv3 하드웨어 카운터를 수집합니다.
  3. 버블넥 식별: 계산, 메모리, 또는 지연 시간 제약 중 어느 것인지 확인합니다.
  4. 대상 최적화 적용: 식별된 버블넥에만 집중합니다.
  5. 재측정: 변경이 실제로 성능 향상에 기여했는지 확인합니다.
  6. 반복: 목표 달성 시까지 이 과정을 반복합니다.
1. 기준선 측정2. 프로파일링3. 버블넥 식별4. 최적화

최적화 신조 피하기

성능 향상은 특정 하드웨어 상호작용에서 재현 가능한 결과여야 합니다. 다음의 반례 패턴:

  • 현재 성능을 측정하기 전에 커널 코드를 변경하는 것.
  • 커널이 메모리 제약인지 알지 못한 채 블록 크기를 조정하는 것.
  • 특정 워크로드에 영향을 미친다는 증거 없이 점유율 수치를 추구하는 것.
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>